<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::registration::CorrespondenceRejectionOrganizedBoundary类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pro-types">Protected 类型</a> &#124;
<a href="#pro-methods">Protected 成员函数</a> &#124;
<a href="#pro-attribs">Protected 属性</a> &#124;
<a href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::registration::CorrespondenceRejectionOrganizedBoundary类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>The <a class="el" href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html" title="The CorrespondenceRejectionOrganizedBoundary class implements a simple correspondence rejection measu...">CorrespondenceRejectionOrganizedBoundary</a> class implements a simple correspondence rejection measure. For each pair of points in correspondence, it checks whether they are on the boundary of a silhouette. This is done by counting the number of NaN dexels in a window around the points (the threshold and window size can be set by the user).  
 <a href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="correspondence__rejection__organized__boundary_8h_source.html">correspondence_rejection_organized_boundary.h</a>&gt;</code></p>
<div class="dynheader">
类 pcl::registration::CorrespondenceRejectionOrganizedBoundary 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.png" usemap="#pcl::registration::CorrespondenceRejectionOrganizedBoundary_map" alt=""/>
  <map id="pcl::registration::CorrespondenceRejectionOrganizedBoundary_map" name="pcl::registration::CorrespondenceRejectionOrganizedBoundary_map">
<area href="classpcl_1_1registration_1_1_correspondence_rejector.html" alt="pcl::registration::CorrespondenceRejector" shape="rect" coords="0,0,365,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a0461ddfd9e3b02b4e255deab34416857"><td class="memItemLeft" align="right" valign="top"><a id="a0461ddfd9e3b02b4e255deab34416857"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html#a0461ddfd9e3b02b4e255deab34416857">CorrespondenceRejectionOrganizedBoundary</a> ()</td></tr>
<tr class="memdesc:a0461ddfd9e3b02b4e255deab34416857"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:a0461ddfd9e3b02b4e255deab34416857"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46d7cc2bfe42a18eebcfc35b1b14df80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html#a46d7cc2bfe42a18eebcfc35b1b14df80">getRemainingCorrespondences</a> (const pcl::Correspondences &amp;original_correspondences, pcl::Correspondences &amp;remaining_correspondences)</td></tr>
<tr class="memdesc:a46d7cc2bfe42a18eebcfc35b1b14df80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a list of valid correspondences after rejection from the original set of correspondences. Pure virtual. Compared to <em>getCorrespondences</em> this function is stateless, i.e., input correspondences do not need to be provided beforehand, but are directly provided in the function call.  <a href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html#a46d7cc2bfe42a18eebcfc35b1b14df80">更多...</a><br /></td></tr>
<tr class="separator:a46d7cc2bfe42a18eebcfc35b1b14df80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40e4f4fcf3e2be9b5d413aa909cbde29"><td class="memItemLeft" align="right" valign="top"><a id="a40e4f4fcf3e2be9b5d413aa909cbde29"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setNumberOfBoundaryNaNs</b> (int val)</td></tr>
<tr class="separator:a40e4f4fcf3e2be9b5d413aa909cbde29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7fded4f59f36a7a4e7e07fea34f39d8"><td class="memTemplParams" colspan="2"><a id="ab7fded4f59f36a7a4e7e07fea34f39d8"></a>
template&lt;typename PointT &gt; </td></tr>
<tr class="memitem:ab7fded4f59f36a7a4e7e07fea34f39d8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>setInputSource</b> (const typename <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::ConstPtr &amp;cloud)</td></tr>
<tr class="separator:ab7fded4f59f36a7a4e7e07fea34f39d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a0a8f6f9522ca5e63e84bbd454085df"><td class="memTemplParams" colspan="2"><a id="a1a0a8f6f9522ca5e63e84bbd454085df"></a>
template&lt;typename PointT &gt; </td></tr>
<tr class="memitem:a1a0a8f6f9522ca5e63e84bbd454085df"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>setInputTarget</b> (const typename <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt;::ConstPtr &amp;cloud)</td></tr>
<tr class="separator:a1a0a8f6f9522ca5e63e84bbd454085df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43001f5447541d815f7e061a9aaa23f6"><td class="memItemLeft" align="right" valign="top"><a id="a43001f5447541d815f7e061a9aaa23f6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html#a43001f5447541d815f7e061a9aaa23f6">requiresSourcePoints</a> () const</td></tr>
<tr class="memdesc:a43001f5447541d815f7e061a9aaa23f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">See if this rejector requires source points <br /></td></tr>
<tr class="separator:a43001f5447541d815f7e061a9aaa23f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cb1d422f69900ef6b14cdbc9882dcad"><td class="memItemLeft" align="right" valign="top"><a id="a9cb1d422f69900ef6b14cdbc9882dcad"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html#a9cb1d422f69900ef6b14cdbc9882dcad">setSourcePoints</a> (pcl::PCLPointCloud2::ConstPtr cloud2)</td></tr>
<tr class="memdesc:a9cb1d422f69900ef6b14cdbc9882dcad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blob method for setting the source cloud <br /></td></tr>
<tr class="separator:a9cb1d422f69900ef6b14cdbc9882dcad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb1ae338acec662792295287628a2869"><td class="memItemLeft" align="right" valign="top"><a id="afb1ae338acec662792295287628a2869"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html#afb1ae338acec662792295287628a2869">requiresTargetPoints</a> () const</td></tr>
<tr class="memdesc:afb1ae338acec662792295287628a2869"><td class="mdescLeft">&#160;</td><td class="mdescRight">See if this rejector requires a target cloud <br /></td></tr>
<tr class="separator:afb1ae338acec662792295287628a2869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1706ee160d25a4d6104f04620984e0b2"><td class="memItemLeft" align="right" valign="top"><a id="a1706ee160d25a4d6104f04620984e0b2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html#a1706ee160d25a4d6104f04620984e0b2">setTargetPoints</a> (pcl::PCLPointCloud2::ConstPtr cloud2)</td></tr>
<tr class="memdesc:a1706ee160d25a4d6104f04620984e0b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for setting the target cloud <br /></td></tr>
<tr class="separator:a1706ee160d25a4d6104f04620984e0b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4b9492dc648ad952a68d2736abbdfe3"><td class="memItemLeft" align="right" valign="top"><a id="aa4b9492dc648ad952a68d2736abbdfe3"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>updateSource</b> (const Eigen::Matrix4d &amp;)</td></tr>
<tr class="separator:aa4b9492dc648ad952a68d2736abbdfe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1registration_1_1_correspondence_rejector')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html">pcl::registration::CorrespondenceRejector</a></td></tr>
<tr class="memitem:aece0e22dd156eaacff20b45069036483 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top"><a id="aece0e22dd156eaacff20b45069036483"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#aece0e22dd156eaacff20b45069036483">CorrespondenceRejector</a> ()</td></tr>
<tr class="memdesc:aece0e22dd156eaacff20b45069036483 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:aece0e22dd156eaacff20b45069036483 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cbaada1584e194daaad3fd0c2d4aee8 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top"><a id="a6cbaada1584e194daaad3fd0c2d4aee8"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#a6cbaada1584e194daaad3fd0c2d4aee8">~CorrespondenceRejector</a> ()</td></tr>
<tr class="memdesc:a6cbaada1584e194daaad3fd0c2d4aee8 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty destructor. <br /></td></tr>
<tr class="separator:a6cbaada1584e194daaad3fd0c2d4aee8 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af69c08f02cc1a3f69920f73f1664f0d8 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#af69c08f02cc1a3f69920f73f1664f0d8">setInputCorrespondences</a> (const CorrespondencesConstPtr &amp;correspondences)</td></tr>
<tr class="memdesc:af69c08f02cc1a3f69920f73f1664f0d8 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of the input correspondences.  <a href="classpcl_1_1registration_1_1_correspondence_rejector.html#af69c08f02cc1a3f69920f73f1664f0d8">更多...</a><br /></td></tr>
<tr class="separator:af69c08f02cc1a3f69920f73f1664f0d8 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae43d54dc28964e8df4ab05b74c3b7135 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top">CorrespondencesConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#ae43d54dc28964e8df4ab05b74c3b7135">getInputCorrespondences</a> ()</td></tr>
<tr class="memdesc:ae43d54dc28964e8df4ab05b74c3b7135 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of the input correspondences.  <a href="classpcl_1_1registration_1_1_correspondence_rejector.html#ae43d54dc28964e8df4ab05b74c3b7135">更多...</a><br /></td></tr>
<tr class="separator:ae43d54dc28964e8df4ab05b74c3b7135 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72c90f3fb93739b0366d3528cf7d502f inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#a72c90f3fb93739b0366d3528cf7d502f">getCorrespondences</a> (pcl::Correspondences &amp;correspondences)</td></tr>
<tr class="memdesc:a72c90f3fb93739b0366d3528cf7d502f inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run correspondence rejection  <a href="classpcl_1_1registration_1_1_correspondence_rejector.html#a72c90f3fb93739b0366d3528cf7d502f">更多...</a><br /></td></tr>
<tr class="separator:a72c90f3fb93739b0366d3528cf7d502f inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a1c8dff3bcce8f99ec98b9982838ffc inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#a6a1c8dff3bcce8f99ec98b9982838ffc">getRejectedQueryIndices</a> (const pcl::Correspondences &amp;correspondences, std::vector&lt; int &gt; &amp;indices)</td></tr>
<tr class="memdesc:a6a1c8dff3bcce8f99ec98b9982838ffc inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine the indices of query points of correspondences that have been rejected, i.e., the difference between the input correspondences (set via <em>setInputCorrespondences</em>) and the given correspondence vector.  <a href="classpcl_1_1registration_1_1_correspondence_rejector.html#a6a1c8dff3bcce8f99ec98b9982838ffc">更多...</a><br /></td></tr>
<tr class="separator:a6a1c8dff3bcce8f99ec98b9982838ffc inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5996af869d7aaa6b8b8dc156038dd3f inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top"><a id="aa5996af869d7aaa6b8b8dc156038dd3f"></a>
const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#aa5996af869d7aaa6b8b8dc156038dd3f">getClassName</a> () const</td></tr>
<tr class="memdesc:aa5996af869d7aaa6b8b8dc156038dd3f inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a string representation of the name of this class. <br /></td></tr>
<tr class="separator:aa5996af869d7aaa6b8b8dc156038dd3f inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08f07ed59490ee2c5d01a99d5589e306 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top"><a id="a08f07ed59490ee2c5d01a99d5589e306"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#a08f07ed59490ee2c5d01a99d5589e306">requiresSourceNormals</a> () const</td></tr>
<tr class="memdesc:a08f07ed59490ee2c5d01a99d5589e306 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="mdescLeft">&#160;</td><td class="mdescRight">See if this rejector requires source normals <br /></td></tr>
<tr class="separator:a08f07ed59490ee2c5d01a99d5589e306 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f61f392a8d0c3da5502949cb22bba7d inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top"><a id="a2f61f392a8d0c3da5502949cb22bba7d"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#a2f61f392a8d0c3da5502949cb22bba7d">setSourceNormals</a> (pcl::PCLPointCloud2::ConstPtr)</td></tr>
<tr class="memdesc:a2f61f392a8d0c3da5502949cb22bba7d inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract method for setting the source normals <br /></td></tr>
<tr class="separator:a2f61f392a8d0c3da5502949cb22bba7d inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3afeffa725f643d1ebc3c0545ea05be inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top"><a id="ab3afeffa725f643d1ebc3c0545ea05be"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#ab3afeffa725f643d1ebc3c0545ea05be">requiresTargetNormals</a> () const</td></tr>
<tr class="memdesc:ab3afeffa725f643d1ebc3c0545ea05be inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="mdescLeft">&#160;</td><td class="mdescRight">See if this rejector requires target normals <br /></td></tr>
<tr class="separator:ab3afeffa725f643d1ebc3c0545ea05be inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bbb67f5066c674eba95b440bb4fd03a inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top"><a id="a4bbb67f5066c674eba95b440bb4fd03a"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#a4bbb67f5066c674eba95b440bb4fd03a">setTargetNormals</a> (pcl::PCLPointCloud2::ConstPtr)</td></tr>
<tr class="memdesc:a4bbb67f5066c674eba95b440bb4fd03a inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract method for setting the target normals <br /></td></tr>
<tr class="separator:a4bbb67f5066c674eba95b440bb4fd03a inherit pub_methods_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected 类型</h2></td></tr>
<tr class="memitem:acfecd62e245eb889c07a8f532adec772"><td class="memItemLeft" align="right" valign="top"><a id="acfecd62e245eb889c07a8f532adec772"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1registration_1_1_data_container_interface.html">pcl::registration::DataContainerInterface</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>DataContainerPtr</b></td></tr>
<tr class="separator:acfecd62e245eb889c07a8f532adec772"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected 成员函数</h2></td></tr>
<tr class="memitem:ab0e6fb59d74fe0e8566674762815c584"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html#ab0e6fb59d74fe0e8566674762815c584">applyRejection</a> (pcl::Correspondences &amp;correspondences)</td></tr>
<tr class="memdesc:ab0e6fb59d74fe0e8566674762815c584"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply the rejection algorithm.  <a href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html#ab0e6fb59d74fe0e8566674762815c584">更多...</a><br /></td></tr>
<tr class="separator:ab0e6fb59d74fe0e8566674762815c584"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected 属性</h2></td></tr>
<tr class="memitem:aaf57b548b76c8b40309687896eae8504"><td class="memItemLeft" align="right" valign="top"><a id="aaf57b548b76c8b40309687896eae8504"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>boundary_nans_threshold_</b></td></tr>
<tr class="separator:aaf57b548b76c8b40309687896eae8504"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecefc99f224f63c5872ff8ec057e4613"><td class="memItemLeft" align="right" valign="top"><a id="aecefc99f224f63c5872ff8ec057e4613"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>window_size_</b></td></tr>
<tr class="separator:aecefc99f224f63c5872ff8ec057e4613"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a270961d3e610169c9f228780b7e09624"><td class="memItemLeft" align="right" valign="top"><a id="a270961d3e610169c9f228780b7e09624"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>depth_step_threshold_</b></td></tr>
<tr class="separator:a270961d3e610169c9f228780b7e09624"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad19907a792bee5387d2f08103bb49c8a"><td class="memItemLeft" align="right" valign="top"><a id="ad19907a792bee5387d2f08103bb49c8a"></a>
DataContainerPtr&#160;</td><td class="memItemRight" valign="bottom"><b>data_container_</b></td></tr>
<tr class="separator:ad19907a792bee5387d2f08103bb49c8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1registration_1_1_correspondence_rejector"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1registration_1_1_correspondence_rejector')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html">pcl::registration::CorrespondenceRejector</a></td></tr>
<tr class="memitem:ab97eb70d3661574301fe1f978576726d inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top"><a id="ab97eb70d3661574301fe1f978576726d"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#ab97eb70d3661574301fe1f978576726d">rejection_name_</a></td></tr>
<tr class="memdesc:ab97eb70d3661574301fe1f978576726d inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_rejector"><td class="mdescLeft">&#160;</td><td class="mdescRight">The name of the rejection method. <br /></td></tr>
<tr class="separator:ab97eb70d3661574301fe1f978576726d inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74d516ca516f7421fd86a53dec1a57b1 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top"><a id="a74d516ca516f7421fd86a53dec1a57b1"></a>
CorrespondencesConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#a74d516ca516f7421fd86a53dec1a57b1">input_correspondences_</a></td></tr>
<tr class="memdesc:a74d516ca516f7421fd86a53dec1a57b1 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_rejector"><td class="mdescLeft">&#160;</td><td class="mdescRight">The input correspondences. <br /></td></tr>
<tr class="separator:a74d516ca516f7421fd86a53dec1a57b1 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
额外继承的成员函数</h2></td></tr>
<tr class="inherit_header pub_types_classpcl_1_1registration_1_1_correspondence_rejector"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1registration_1_1_correspondence_rejector')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html">pcl::registration::CorrespondenceRejector</a></td></tr>
<tr class="memitem:a192578d5c6faa199b6137f7052ebe3bd inherit pub_types_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top"><a id="a192578d5c6faa199b6137f7052ebe3bd"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html">CorrespondenceRejector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:a192578d5c6faa199b6137f7052ebe3bd inherit pub_types_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a364a36b29c665856a1819d7a42cf5154 inherit pub_types_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memItemLeft" align="right" valign="top"><a id="a364a36b29c665856a1819d7a42cf5154"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html">CorrespondenceRejector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstPtr</b></td></tr>
<tr class="separator:a364a36b29c665856a1819d7a42cf5154 inherit pub_types_classpcl_1_1registration_1_1_correspondence_rejector"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>The <a class="el" href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html" title="The CorrespondenceRejectionOrganizedBoundary class implements a simple correspondence rejection measu...">CorrespondenceRejectionOrganizedBoundary</a> class implements a simple correspondence rejection measure. For each pair of points in correspondence, it checks whether they are on the boundary of a silhouette. This is done by counting the number of NaN dexels in a window around the points (the threshold and window size can be set by the user). </p>
<dl class="section note"><dt>注解</dt><dd>Both the source and the target clouds need to be organized, otherwise all the correspondences will be rejected.</dd></dl>
<dl class="section author"><dt>作者</dt><dd>Alexandru E. Ichim </dd></dl>
</div><h2 class="groupheader">成员函数说明</h2>
<a id="ab0e6fb59d74fe0e8566674762815c584"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0e6fb59d74fe0e8566674762815c584">&#9670;&nbsp;</a></span>applyRejection()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::registration::CorrespondenceRejectionOrganizedBoundary::applyRejection </td>
          <td>(</td>
          <td class="paramtype">pcl::Correspondences &amp;&#160;</td>
          <td class="paramname"><em>correspondences</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Apply the rejection algorithm. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">correspondences</td><td>the set of resultant correspondences. </td></tr>
  </table>
  </dd>
</dl>

<p>实现了 <a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#a60dbdcf8f1005a1405dcab244a5c5608">pcl::registration::CorrespondenceRejector</a>.</p>
<div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;      { <a class="code" href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html#a46d7cc2bfe42a18eebcfc35b1b14df80">getRemainingCorrespondences</a> (*<a class="code" href="classpcl_1_1registration_1_1_correspondence_rejector.html#a74d516ca516f7421fd86a53dec1a57b1">input_correspondences_</a>, correspondences); }</div>
<div class="ttc" id="aclasspcl_1_1registration_1_1_correspondence_rejection_organized_boundary_html_a46d7cc2bfe42a18eebcfc35b1b14df80"><div class="ttname"><a href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html#a46d7cc2bfe42a18eebcfc35b1b14df80">pcl::registration::CorrespondenceRejectionOrganizedBoundary::getRemainingCorrespondences</a></div><div class="ttdeci">void getRemainingCorrespondences(const pcl::Correspondences &amp;original_correspondences, pcl::Correspondences &amp;remaining_correspondences)</div><div class="ttdoc">Get a list of valid correspondences after rejection from the original set of correspondences....</div></div>
<div class="ttc" id="aclasspcl_1_1registration_1_1_correspondence_rejector_html_a74d516ca516f7421fd86a53dec1a57b1"><div class="ttname"><a href="classpcl_1_1registration_1_1_correspondence_rejector.html#a74d516ca516f7421fd86a53dec1a57b1">pcl::registration::CorrespondenceRejector::input_correspondences_</a></div><div class="ttdeci">CorrespondencesConstPtr input_correspondences_</div><div class="ttdoc">The input correspondences.</div><div class="ttdef"><b>Definition:</b> correspondence_rejection.h:191</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a46d7cc2bfe42a18eebcfc35b1b14df80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46d7cc2bfe42a18eebcfc35b1b14df80">&#9670;&nbsp;</a></span>getRemainingCorrespondences()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::registration::CorrespondenceRejectionOrganizedBoundary::getRemainingCorrespondences </td>
          <td>(</td>
          <td class="paramtype">const pcl::Correspondences &amp;&#160;</td>
          <td class="paramname"><em>original_correspondences</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">pcl::Correspondences &amp;&#160;</td>
          <td class="paramname"><em>remaining_correspondences</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get a list of valid correspondences after rejection from the original set of correspondences. Pure virtual. Compared to <em>getCorrespondences</em> this function is stateless, i.e., input correspondences do not need to be provided beforehand, but are directly provided in the function call. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">original_correspondences</td><td>the set of initial correspondences given </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">remaining_correspondences</td><td>the resultant filtered set of remaining correspondences </td></tr>
  </table>
  </dd>
</dl>

<p>实现了 <a class="el" href="classpcl_1_1registration_1_1_correspondence_rejector.html#a42fe3fe1efc3275e78833200bce2027e">pcl::registration::CorrespondenceRejector</a>.</p>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>registration/include/pcl/registration/<a class="el" href="correspondence__rejection__organized__boundary_8h_source.html">correspondence_rejection_organized_boundary.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><b>registration</b></li><li class="navelem"><a class="el" href="classpcl_1_1registration_1_1_correspondence_rejection_organized_boundary.html">CorrespondenceRejectionOrganizedBoundary</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
